package org.mogu.control;

import android.content.Context;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewConfiguration;
import android.widget.FrameLayout;
import android.widget.Scroller;

/*
 * 自定义的FrameLayout，用于显示好友界面中好友列表
 * 
 * @author androidSource@139.com
 * */
public class Workspace extends FrameLayout {
	
	private int[] mArrayOfInt = null;
	private Rect localRect1 = null, localRect2 = null;
	private Scroller localScroller = null;
	private int i = 0,i1 = 0, d = 0, s = 0;
	private Paint localPaint = null;
	
	/*
	 * 构造函数
	 * 参数1--所属activity
	 * 参数2--布局参数
	 * */
	public Workspace(Context paramContext, AttributeSet paramAttributeSet){
	    this(paramContext, paramAttributeSet, 0);
	}

	/*
	 * 构造函数
	 * 参数1--所属activity
	 * 参数2--布局参数
	 * 参数3--defStyle，为风格类型
	 * */
	public Workspace(Context paramContext, AttributeSet paramAttributeSet, int paramInt){
	    super(paramContext, paramAttributeSet, paramInt);
	    
	    mArrayOfInt = new int[2];

	    localRect1 = new Rect();
	    localRect2 = new Rect();
	    
	    d = 0;
	    Init();
	}
	
	private void Init(){
	    Context localContext = getContext();
	    localScroller = new Scroller(localContext);
	    
	    int i1 = this.d;
	    this.i = i1;
	    
	    localPaint = new Paint();
	    localPaint.setDither(false);
	    
	    int i2 = ViewConfiguration.get(getContext()).getScaledTouchSlop();
	    this.s = i2;
	}
	
	
	/*
	 * 重写了控件的布局函数
	 * */
	@Override
	protected void onLayout(boolean paramBoolean, int paramInt1, int paramInt2, int paramInt3, int paramInt4){
		int countChild = getChildCount();
	    
		int i = 0, i3 = 0;
		//控制条件为小于总子控件数量
	    while (i < countChild){
	    	//获得当前子控件视图	
	    	View localView = getChildAt(i);
	    	//设置当前子视图对象可点击状态
		    localView.setClickable(true);
		    
		    /*
		     * 控件的状态
		     * View.GONE--消失，看不见也不占用位置
		     * View.INVISIBLE--空白，但仍然沾着他布局高和宽的位置
		     * View.VISIBLE--显示状态
		     * */
		    if (localView.getVisibility() != View.GONE){
		    	
		    	/*
		    	 * getMeasuredWidth()--最近一次調用measure()方法測量後得到的view的寬度
		    	 * getMeasuredHeight()--最近一次調用measure()方法測量後得到的view的高度
		    	 * */
		        int mWidth = localView.getMeasuredWidth();
		        int width = i3 + mWidth;//宽度
		        
		        int height = localView.getMeasuredHeight();//高度
		        
		        /*
		         * layout(int l, int t, int r, int b)
		         * l--相对父类，左边位置
		         * t--相对父类，顶部位置
		         * r--相对父类，右边位置
		         * b--相对父类，底部位置
		         * */
		        localView.layout(i3, 0, width, height);
		      }
		     i += 1;
	    }
	}
	
	
}